package com.ktgj.flight.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 舱位退改签对象 cabinrule
 * 
 * @author ruoyi
 * @date 2021-08-30
 */
@ApiModel(description = "舱位退改签对象")
public class Cabinrule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键 */
    @ApiModelProperty(value = "自增主键")
    private Long ruleid;

    /** 航空公司二字代码 */
    @Excel(name = "航空公司二字代码")
    @ApiModelProperty(value = "航空公司二字代码")
    private String airline;

    /** 舱位等级 */
    @Excel(name = "舱位等级")
    @ApiModelProperty(value = "舱位等级")
    private Long cabinLevei;

    /** 对应全价舱位 */
    @Excel(name = "对应全价舱位")
    @ApiModelProperty(value = "对应全价舱位")
    private String fullPriceCabin;

    /** 舱位代码 */
    @Excel(name = "舱位代码")
    @ApiModelProperty(value = "舱位代码")
    private String cabin;

    /** 是否匹配舱位标识 */
    @Excel(name = "是否匹配舱位标识")
    @ApiModelProperty(value = "是否匹配舱位标识")
    private String isMatchCabinMark;

    /** 是否启用此政策 */
    @Excel(name = "是否启用此政策")
    @ApiModelProperty(value = "是否启用此政策")
    private String isUsed;

    /** 是否特价舱位 */
    @Excel(name = "是否特价舱位")
    @ApiModelProperty(value = "是否特价舱位")
    private String isSpecial;

    /** 是否自动计算 */
    @Excel(name = "是否自动计算")
    @ApiModelProperty(value = "是否自动计算")
    private String isCompute;

    /** 退票费不少于XX元 */
    @Excel(name = "退票费不少于XX元")
    @ApiModelProperty(value = "退票费不少于XX元")
    private BigDecimal notLess;

    /** 最高折扣 */
    @Excel(name = "最高折扣")
    @ApiModelProperty(value = "最高折扣")
    private BigDecimal highDiscount;

    /** 最低折扣 */
    @Excel(name = "最低折扣")
    @ApiModelProperty(value = "最低折扣")
    private BigDecimal lowDiscount;

    /** 舱位标识 */
    @Excel(name = "舱位标识")
    @ApiModelProperty(value = "舱位标识")
    private String cabinMark;

    /** 到达机场三字码 */
    @Excel(name = "到达机场三字码")
    @ApiModelProperty(value = "到达机场三字码")
    private String dstAirport;

    /** 出发机场三字码 */
    @Excel(name = "出发机场三字码")
    @ApiModelProperty(value = "出发机场三字码")
    private String orgAirport;

    /** 舱位开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "舱位开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "舱位开始时间")
    private Date validDateCabin;

    /** 舱位结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "舱位结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "舱位结束时间")
    private Date ivalidDateCabin;

    /** 航班开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "航班开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "航班开始时间")
    private Date validDateFlight;

    /** 航班结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "航班结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "航班结束时间")
    private Date ivalidDateFlight;

    /** 起飞前退改签规则（期限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比） */
    @Excel(name = "起飞前退改签规则", readConverterExp = "期=限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比")
    @ApiModelProperty(value = "起飞前退改签规则")
    private String orgConditions;

    /** 起飞后退改签规则（期限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比） */
    @Excel(name = "起飞后退改签规则", readConverterExp = "期=限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比")
    @ApiModelProperty(value = "起飞后退改签规则")
    private String dstConditions;

    /** 儿童起飞前退改签规则（期限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比） */
    @Excel(name = "儿童起飞前退改签规则", readConverterExp = "期=限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比")
    @ApiModelProperty(value = "儿童起飞前退改签规则")
    private String chdOrgConditions;

    /** 儿童起飞后退改签规则（期限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比） */
    @Excel(name = "儿童起飞后退改签规则", readConverterExp = "期=限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比")
    @ApiModelProperty(value = "儿童起飞后退改签规则")
    private String chdDstConditions;

    /** 起飞前退改签规则（期限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比） */
    @Excel(name = "起飞前退改签规则", readConverterExp = "期=限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比")
    @ApiModelProperty(value = "起飞前退改签规则")
    private String changeOrgConditions;

    /** 起飞后退改签规则（期限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比） */
    @Excel(name = "起飞后退改签规则", readConverterExp = "期=限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比")
    @ApiModelProperty(value = "起飞后退改签规则")
    private String changeDstConditions;

    /** 儿童起飞前退改签规则（期限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比） */
    @Excel(name = "儿童起飞前退改签规则", readConverterExp = "期=限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比")
    @ApiModelProperty(value = "儿童起飞前退改签规则")
    private String changeChdOrgConditions;

    /** 儿童起飞后退改签规则（期限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比） */
    @Excel(name = "儿童起飞后退改签规则", readConverterExp = "期=限|单位|数值|百分比^期限|单位|数值|百分比~期限|单位|数值|期限|单位|数值|百分比")
    @ApiModelProperty(value = "儿童起飞后退改签规则")
    private String changeChdDstConditions;

    /** 计算退票手续费时的参照基价（1：全价，2：票面价，3:公布运价） */
    @Excel(name = "计算退票手续费时的参照基价", readConverterExp = "1=：全价，2：票面价，3:公布运价")
    @ApiModelProperty(value = "计算退票手续费时的参照基价")
    private String baseAmountType;

    /** 退票条件 */
    @Excel(name = "退票条件")
    @ApiModelProperty(value = "退票条件")
    private String refund;

    /** 签转条件 */
    @Excel(name = "签转条件")
    @ApiModelProperty(value = "签转条件")
    private String sign;

    /** 更改条件 */
    @Excel(name = "更改条件")
    @ApiModelProperty(value = "更改条件")
    private String changes;

    /** 服务信息 */
    @Excel(name = "服务信息")
    @ApiModelProperty(value = "服务信息")
    private String serviceMsg;

    /** 操作人 */
    @Excel(name = "操作人")
    @ApiModelProperty(value = "操作人")
    private Long employeeId;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "操作时间")
    private Date operationTime;

    /** 是否是通用规则 */
    @Excel(name = "是否是通用规则")
    @ApiModelProperty(value = "是否是通用规则")
    private String isCurrency;

    /** 舱位备注 */
    @Excel(name = "舱位备注")
    @ApiModelProperty(value = "舱位备注")
    private String cabinRmk;

    /** 舱位名称 */
    @Excel(name = "舱位名称")
    @ApiModelProperty(value = "舱位名称")
    private String cabinLevelName;

    /** 行李 */
    @Excel(name = "行李")
    @ApiModelProperty(value = "行李")
    private String baggage;

    /** 是否成人价格 */
    @Excel(name = "是否成人价格")
    @ApiModelProperty(value = "是否成人价格")
    private String isAdultPrice;

    /** 是否儿童优惠 */
    @Excel(name = "是否儿童优惠")
    @ApiModelProperty(value = "是否儿童优惠")
    private String isChildrenDiscount;

    public void setRuleid(Long ruleid) 
    {
        this.ruleid = ruleid;
    }

    public Long getRuleid() 
    {
        return ruleid;
    }
    public void setAirline(String airline) 
    {
        this.airline = airline;
    }

    public String getAirline() 
    {
        return airline;
    }
    public void setCabinLevei(Long cabinLevei) 
    {
        this.cabinLevei = cabinLevei;
    }

    public Long getCabinLevei() 
    {
        return cabinLevei;
    }
    public void setFullPriceCabin(String fullPriceCabin) 
    {
        this.fullPriceCabin = fullPriceCabin;
    }

    public String getFullPriceCabin() 
    {
        return fullPriceCabin;
    }
    public void setCabin(String cabin) 
    {
        this.cabin = cabin;
    }

    public String getCabin() 
    {
        return cabin;
    }
    public void setIsMatchCabinMark(String isMatchCabinMark) 
    {
        this.isMatchCabinMark = isMatchCabinMark;
    }

    public String getIsMatchCabinMark() 
    {
        return isMatchCabinMark;
    }
    public void setIsUsed(String isUsed) 
    {
        this.isUsed = isUsed;
    }

    public String getIsUsed() 
    {
        return isUsed;
    }
    public void setIsSpecial(String isSpecial) 
    {
        this.isSpecial = isSpecial;
    }

    public String getIsSpecial() 
    {
        return isSpecial;
    }
    public void setIsCompute(String isCompute) 
    {
        this.isCompute = isCompute;
    }

    public String getIsCompute() 
    {
        return isCompute;
    }
    public void setNotLess(BigDecimal notLess) 
    {
        this.notLess = notLess;
    }

    public BigDecimal getNotLess() 
    {
        return notLess;
    }
    public void setHighDiscount(BigDecimal highDiscount) 
    {
        this.highDiscount = highDiscount;
    }

    public BigDecimal getHighDiscount() 
    {
        return highDiscount;
    }
    public void setLowDiscount(BigDecimal lowDiscount) 
    {
        this.lowDiscount = lowDiscount;
    }

    public BigDecimal getLowDiscount() 
    {
        return lowDiscount;
    }
    public void setCabinMark(String cabinMark) 
    {
        this.cabinMark = cabinMark;
    }

    public String getCabinMark() 
    {
        return cabinMark;
    }
    public void setDstAirport(String dstAirport) 
    {
        this.dstAirport = dstAirport;
    }

    public String getDstAirport() 
    {
        return dstAirport;
    }
    public void setOrgAirport(String orgAirport) 
    {
        this.orgAirport = orgAirport;
    }

    public String getOrgAirport() 
    {
        return orgAirport;
    }
    public void setValidDateCabin(Date validDateCabin) 
    {
        this.validDateCabin = validDateCabin;
    }

    public Date getValidDateCabin() 
    {
        return validDateCabin;
    }
    public void setIvalidDateCabin(Date ivalidDateCabin) 
    {
        this.ivalidDateCabin = ivalidDateCabin;
    }

    public Date getIvalidDateCabin() 
    {
        return ivalidDateCabin;
    }
    public void setValidDateFlight(Date validDateFlight) 
    {
        this.validDateFlight = validDateFlight;
    }

    public Date getValidDateFlight() 
    {
        return validDateFlight;
    }
    public void setIvalidDateFlight(Date ivalidDateFlight) 
    {
        this.ivalidDateFlight = ivalidDateFlight;
    }

    public Date getIvalidDateFlight() 
    {
        return ivalidDateFlight;
    }
    public void setOrgConditions(String orgConditions) 
    {
        this.orgConditions = orgConditions;
    }

    public String getOrgConditions() 
    {
        return orgConditions;
    }
    public void setDstConditions(String dstConditions) 
    {
        this.dstConditions = dstConditions;
    }

    public String getDstConditions() 
    {
        return dstConditions;
    }
    public void setChdOrgConditions(String chdOrgConditions) 
    {
        this.chdOrgConditions = chdOrgConditions;
    }

    public String getChdOrgConditions() 
    {
        return chdOrgConditions;
    }
    public void setChdDstConditions(String chdDstConditions) 
    {
        this.chdDstConditions = chdDstConditions;
    }

    public String getChdDstConditions() 
    {
        return chdDstConditions;
    }
    public void setChangeOrgConditions(String changeOrgConditions) 
    {
        this.changeOrgConditions = changeOrgConditions;
    }

    public String getChangeOrgConditions() 
    {
        return changeOrgConditions;
    }
    public void setChangeDstConditions(String changeDstConditions) 
    {
        this.changeDstConditions = changeDstConditions;
    }

    public String getChangeDstConditions() 
    {
        return changeDstConditions;
    }
    public void setChangeChdOrgConditions(String changeChdOrgConditions) 
    {
        this.changeChdOrgConditions = changeChdOrgConditions;
    }

    public String getChangeChdOrgConditions() 
    {
        return changeChdOrgConditions;
    }
    public void setChangeChdDstConditions(String changeChdDstConditions) 
    {
        this.changeChdDstConditions = changeChdDstConditions;
    }

    public String getChangeChdDstConditions() 
    {
        return changeChdDstConditions;
    }
    public void setBaseAmountType(String baseAmountType) 
    {
        this.baseAmountType = baseAmountType;
    }

    public String getBaseAmountType() 
    {
        return baseAmountType;
    }
    public void setRefund(String refund) 
    {
        this.refund = refund;
    }

    public String getRefund() 
    {
        return refund;
    }
    public void setSign(String sign) 
    {
        this.sign = sign;
    }

    public String getSign() 
    {
        return sign;
    }
    public void setChanges(String changes)
    {
        this.changes = changes;
    }

    public String getChanges()
    {
        return changes;
    }
    public void setServiceMsg(String serviceMsg) 
    {
        this.serviceMsg = serviceMsg;
    }

    public String getServiceMsg() 
    {
        return serviceMsg;
    }
    public void setEmployeeId(Long employeeId) 
    {
        this.employeeId = employeeId;
    }

    public Long getEmployeeId() 
    {
        return employeeId;
    }
    public void setOperationTime(Date operationTime) 
    {
        this.operationTime = operationTime;
    }

    public Date getOperationTime() 
    {
        return operationTime;
    }
    public void setIsCurrency(String isCurrency) 
    {
        this.isCurrency = isCurrency;
    }

    public String getIsCurrency() 
    {
        return isCurrency;
    }
    public void setCabinRmk(String cabinRmk) 
    {
        this.cabinRmk = cabinRmk;
    }

    public String getCabinRmk() 
    {
        return cabinRmk;
    }
    public void setCabinLevelName(String cabinLevelName) 
    {
        this.cabinLevelName = cabinLevelName;
    }

    public String getCabinLevelName() 
    {
        return cabinLevelName;
    }
    public void setBaggage(String baggage) 
    {
        this.baggage = baggage;
    }

    public String getBaggage() 
    {
        return baggage;
    }
    public void setIsAdultPrice(String isAdultPrice) 
    {
        this.isAdultPrice = isAdultPrice;
    }

    public String getIsAdultPrice() 
    {
        return isAdultPrice;
    }
    public void setIsChildrenDiscount(String isChildrenDiscount) 
    {
        this.isChildrenDiscount = isChildrenDiscount;
    }

    public String getIsChildrenDiscount() 
    {
        return isChildrenDiscount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("ruleid", getRuleid())
            .append("airline", getAirline())
            .append("cabinLevei", getCabinLevei())
            .append("fullPriceCabin", getFullPriceCabin())
            .append("cabin", getCabin())
            .append("isMatchCabinMark", getIsMatchCabinMark())
            .append("isUsed", getIsUsed())
            .append("isSpecial", getIsSpecial())
            .append("isCompute", getIsCompute())
            .append("notLess", getNotLess())
            .append("highDiscount", getHighDiscount())
            .append("lowDiscount", getLowDiscount())
            .append("cabinMark", getCabinMark())
            .append("dstAirport", getDstAirport())
            .append("orgAirport", getOrgAirport())
            .append("validDateCabin", getValidDateCabin())
            .append("ivalidDateCabin", getIvalidDateCabin())
            .append("validDateFlight", getValidDateFlight())
            .append("ivalidDateFlight", getIvalidDateFlight())
            .append("orgConditions", getOrgConditions())
            .append("dstConditions", getDstConditions())
            .append("chdOrgConditions", getChdOrgConditions())
            .append("chdDstConditions", getChdDstConditions())
            .append("changeOrgConditions", getChangeOrgConditions())
            .append("changeDstConditions", getChangeDstConditions())
            .append("changeChdOrgConditions", getChangeChdOrgConditions())
            .append("changeChdDstConditions", getChangeChdDstConditions())
            .append("baseAmountType", getBaseAmountType())
            .append("refund", getRefund())
            .append("sign", getSign())
            .append("changes", getChanges())
            .append("serviceMsg", getServiceMsg())
            .append("employeeId", getEmployeeId())
            .append("createTime", getCreateTime())
            .append("operationTime", getOperationTime())
            .append("isCurrency", getIsCurrency())
            .append("cabinRmk", getCabinRmk())
            .append("cabinLevelName", getCabinLevelName())
            .append("baggage", getBaggage())
            .append("isAdultPrice", getIsAdultPrice())
            .append("isChildrenDiscount", getIsChildrenDiscount())
            .toString();
    }
}
